package com.gxc.datacore.query.service;

import java.util.List;
import java.util.Map;

import com.gxc.dbcore.util.PageInfo;
import com.gxc.dbcore.util.PageList;

public interface DataQueryService {

	/**
	 * 查询符合条件的全部数据
	 * 
	 * @param user_id
	 *            用户ID
	 * @param table_id
	 *            数据表ID
	 * @param params
	 *            查询参数
	 * @param translate
	 *            是否翻译查询结果
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List query(String user_id, String table_id, Map params,
			boolean translate);

	/**
	 * 查询符合条件的指定位置指定数量的数据
	 * 
	 * @param user_id
	 *            用户ID
	 * @param table_id
	 *            数据表ID
	 * @param params
	 *            查询参数
	 * @param translate
	 *            是否翻译查询结果
	 * @param offset
	 *            偏移
	 * @param limit
	 *            限定记录数
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List query(String user_id, String table_id, Map params,
			boolean translate, int offset, int limit);

	/**
	 * 分页查询符合条件的数据
	 * 
	 * @param user_id
	 *            用户ID
	 * @param table_id
	 *            数据表ID
	 * @param params
	 *            查询参数
	 * @param translate
	 *            是否翻译查询结果
	 * @param pageInfo
	 *            分页信息
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public PageList query(String user_id, String table_id, Map params,
			boolean translate, PageInfo pageInfo);

}
